/**
 * 
 */
package mm.back.dao;

import java.util.List;
import mm.back.entity.Vendedor;
import mm.back.filtros.VendedoresFiltro;
import mm.exceptions.MMGenericException;

/**
 * @author PUSDERKIS
 *
 */
public interface VendedorDAO {
	
	/**
	 * carga el vendedor.
	 * @param idVendedor el id del vendedor.
	 * @return el vendedor.
	 * @throws MMGenericException en caso de error.
	 */
	Vendedor getVendedor(Long idVendedor) throws MMGenericException;
	
	/**
	 * Recupera la lista de vendedores.
	 * @return la lista de vendedores.
	 * @throws MMGenericException en caso de error.
	 */
	List<Vendedor> searchVendedores(VendedoresFiltro filtro) throws MMGenericException;
	
	/**
	 * Guarda un vendedor.
	 * @param vendedor el objeto a guardar.
	 * @throws MMGenericException en caso de error.
	 */
	void saveVendedor(Vendedor vendedor) throws MMGenericException;

	/**
	 * crea un vendedor.
	 * @param vendedor el objeto vendedor.
	 * @throws MMGenericException en caso de error.
	 */
	void createVendedor(Vendedor vendedor) throws MMGenericException;

}
